//package org.pet.controller;
//
//import org.pet.entity.Pet;
//import org.pet.entity.PetAdopt;
//import org.pet.service.PetAdoptService;
//import org.pet.util.PageBean;
//import org.pet.util.Result;
//import org.pet.util.ThreadLocalUtil;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.Map;
//
//@RestController
//@RequestMapping("/adopt")
//public class PetAdoptController {
//
//    @Autowired
//    private PetAdoptService petAdoptService;
//
//    /**
//     * 分页获取
//     * @param pageNum
//     * @param pageSize
//     * @param gender
//     * @param age
//     * @param variety
//     * @return
//     */
//    @GetMapping("/listPage")
//    public Result<PageBean<PetAdopt>> listPage(Integer pageNum,
//                                               Integer pageSize,
//                                               @RequestParam(required = false) String gender,
//                                               @RequestParam(required = false) Integer age,
//                                               @RequestParam(required = false) String variety,
//                                               @RequestParam(required = false) String adoptionStatus){
//
//        PageBean<PetAdopt> list = petAdoptService.listPage(pageNum,pageSize,gender,age,variety,adoptionStatus);
//        return Result.success(list);
//    }
//
//    /**
//     * 为当前用户添加宠物
//     * @param pet 宠物
//     * @return
//     */
//    @PostMapping ("/add")
//    public Result add(@RequestBody @Validated Pet pet){
//        Map<String,Object> claims = ThreadLocalUtil.get();
//        Integer loginId = (Integer) claims.get("id");
//        return petAdoptService.add(pet,loginId);
//    }
//
//    /**
//     * 收养宠物
//     * @param petId 宠物id
//     * @return
//     */
//    @PatchMapping("/adopt")
//    public Result adopt(@RequestParam Integer petId){
//        Map<String,Object> claims = ThreadLocalUtil.get();
//        Integer loginId = (Integer) claims.get("id");
//        return petAdoptService.adopt(petId,loginId);
//    }
//
//    /**
//     * 删除宠物
//     * @param petId
//     * @return
//     */
//    @DeleteMapping("/delete")
//    public Result delete(@RequestParam Integer petId){
//        Map<String,Object> claims = ThreadLocalUtil.get();
//        Integer loginId = (Integer) claims.get("id");
//        return petAdoptService.delete(petId,loginId);
//    }
//}
